草庐IT

c++ - std::string 和 UTF-8 编码的 unicode

全部标签

c++ - C/C++ - Windows - 如何跟踪 HWND 上下文数据

在Windows中,假设您打开了同一窗口类的多个窗口(HWND)。您如何跟踪窗口过程中的上下文数据,例如,当用户尝试在窗口2中键入内容时,窗口1不会被修改?CreateWindow()直到WndProc()被多次调用后才返回,因此您不能简单地将生成的HWND设置为上下文数据并在WndProc()中进行查找;您确实需要在WndProc()中设置它。除了窗口创建消息外,WndProc()不直接将上下文信息传递给它,但不幸的是,窗口创建消息并不是传递给WndProc()的第一条消息。不,我发现诸如WM_SIZE、WM_NCSIZE之类的东西在我看到WM_CREATE之前就已通过。将HWND存

c - 可执行路径

我需要找到我的程序运行的路径。使用argv[0]似乎不起作用,因为程序必须在Windows控制台上运行,例如C:\>playerparameter1parameter2而我只能在argv[0]上获得播放器.我怎样才能做到这一点? 最佳答案 您可以使用Windows的GetModuleFileName函数通过将hModule参数设置为NULL来获取可执行文件的路径。 关于c-可执行路径,我们在StackOverflow上找到一个类似的问题: https://st

c - c中的全局结构和多线程

谁能解释一下这段代码中的编译错误:#include"common.h"typedefstructnodeData{intprocid;unsignedshortlocalport;DWORDLIFETIME;DWORDHELLOTIMEOUT;DWORDMAXTIME;}nodeData;intlistenerThread(){if(!bindSocket(listenSocket,nodeData.localport)){closesocket(listenSocket);WSACleanup();exit(-1);}//morecodegoeshere}intmain(intarg

c++ - 进程 ID 和进程名称

我正在创建一个基本上扫描系统以查看特定进程是否正在运行的Windows程序。我有进程名称(AcroRd32.exe),没有别的。据我所知,最简单的方法是使用CreateToolhelp32Snapshot创建所有进程的快照,然后遍历每个进程以查找进程名称。我的应用程序以高性能为中心。那么有没有更好更有效的方法来做到这一点。应用程序每隔几秒收集一次快照。在快照中迭代100个进程似乎效率不高。是否有直接的API可以通过进程名称找到进程(并通过名称检索进程句柄或ID)?我进行了广泛的搜索,但运气不佳。有人试过这个吗? 最佳答案 扫描进程的

python - 在 Windows 上设置 Python 终端编码

我碰巧在Windows上的Python终端中设置字符编码失败。根据官方指南,这是小菜一碟:#-*-coding:utf-8-*-好的,现在测试:print'Русский'生成一blockmojibake。哪里做错了?P.S.IDE是VisualStudio2010,如果重要的话 最佳答案 你应该使用unicode:printu'Русский'或切换到python3(默认为unicode)。 关于python-在Windows上设置Python终端编码,我们在StackOverflow

python - 如何从 base64 编码的字符串创建临时文件?

如何从编码字符串创建一个文件到临时文件中,然后执行它? 最佳答案 您可能会对tempfilemodule感兴趣,以及base64和execfile.顺便说一句,您可能想提供更多有关您要完成的工作的详细信息。这听起来很有可能是一个坏主意、不必要的工作,或者两者兼而有之。 关于python-如何从base64编码的字符串创建临时文件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6

c++ - 将 .a 文件转换为 .dll

这个问题在某处肯定有答案,但我找不到。我写Java已经十多年了,我的C经验是在Unix上,所以我在这里有点直截了当。根据我的Unix经验,其他人编写了makefile并且它可以正常工作。我已经从feep下载了libtar-1.2.11的C源代码,并从cygwin内部运行了make。这创建了一个.a文件和一个.exe文件。EXE文件似乎本质上是tar以在Windows上运行,但我想要的是让库在我自己的代码中读取和处理文件。如果我没记错的话,那些应该在.a文件(存档??)中,并且需要将其链接到我可以从我的C++程序中使用的库中。所以我正在寻找一种方法来做到这一点。我正在编写一个将使用.tg

可以仅使用 C 来利用 Windows API 吗?

我正在自学C(来自Java)。我非常欣赏这门语言,我学习它的主要原因之一是我可以利用Java内置的JNI功能在必要时编写native代码。我的问题主要是关于WindowsAPI。我可以仅使用C来使用API的功能和特性吗?WindowsAPI是否与纯C代码兼容,或者它是否包含只能由C++代码使用的类等?此外,如果我在Windows机器上将共享库编译为(lib.slNOTlib.dll),它可以在另一台机器(Mac/Linux)上运行吗? 最佳答案 WindowsAPI(又名Win32API)是一个纯C库。不可以,你不能在另一台非Win

c++ - _stricmp 在字符串匹配时返回错误值。该怎么办?

我有这段代码:second=strtok(NULL,"\n");logprintf(second);if(_stricmp(second,"WINDOWS")==0)logprintf将数据打印到日志文件中,并打印“WINDOWS”(不带引号)。但是_stricmp以某种方式返回13..所以if检查永远不会通过。我尝试过使用sscanf/sprintf/其他字符串方式,但都没有用。我没主意了。完整代码:#ifdefWIN32charbuf[65535];boolfound=false;boolinstall=false;boolinstalling=false;unsignedinti

c - 我应该在项目开始时考虑 GUI 吗?

我想在C中启动一个ProcessManager项目,它应该有一个图形用户界面。这是我的第一个GUI项目,我对此一无所知。经过一些搜索,我发现我应该使用winapi32库。我的问题是:我应该像基于控制台那样编写我的项目,然后向其中添加GUI,还是应该在项目开始时考虑GUI? 最佳答案 我想说最好将应用程序编写为命令行应用程序,然后在GUI中编写包装器。通过这种方式,您可以获得最灵活的应用程序,将GUI和功能完全分离。但我不会说!:-)根据我的经验,很难将GUI从应用程序中完全分离出来,因此您应该在构建它时考虑到GUI。您的代码必须打开